It is well-known that arbitrary data can be stored on a base in a compact manner by means of codes, e.g. one or two dimensional barcodes.
WO 01/71653, which is assigned to the assignee of the present application, discloses a code for storing of data. The code is constructed by means of a number sequence having the property that an arbitrary subsequence of at least a predetermined length appears only once in the number sequence. A number sequence having this property will be called a window sequence in the following.
The code disclosed in WO 01/71653 is formed by arranging portions of the window sequence in columns in a matrix. Each sequence portion has a well-defined position in the window sequence. Data is coded by means of the differences in window sequence positions of adjacent sequence portions. The differences in window sequence positions also code a ruler in the form of a window sequence in the direction in which the code is intended to be read. This ruler makes it possible to arrange data read from the code in the correct order and to ensure that a complete message is recorded.
As is evident from above, a message stored in the code can be recaptured by recording a plurality of images of part areas of the code with a user unit, decoding the data and the ruler information in the plurality of images, and using the ruler information to reconstruct the message by ordering the data in the correct order. Assuming that the code matrix is intended to be scanned along a horizontal axis, the scanning can be carried out at any level in the matrix along a vertical axis, the decoded information being the same at all levels.